﻿using CloudCUtils;
using System.Buffers;

namespace LeetCodeProject
{
    public class Solution01
    {
        //static void Main(string[] args)
        //{
        //    int[] nums = {3,3 };
        //    int target = 6;
        //    int[] res = TwoSum(nums, target);
        //    Console.WriteLine(ArrayUtils.PrintToString(res));
        //}
        //public static int[] TwoSum(int[] nums, int target)
        //{
        //    if (nums == null || nums.Length == 0)
        //    {
        //        throw new Exception("数组为null或空");
        //    }
        //    Array.Sort(nums);
        //    for (int i = 0; i < nums.Length; i++)
        //    {
        //        for (int j = i+1; j < nums.Length; j++)
        //        {
        //            if (nums[i]+ nums[j]==target)
        //            {
        //                return new int[] {i,j};
        //            }
        //        }
        //    }
        //    return new int[] { -1,-1};
        //}

        public static int[] TwoSum(int[] nums, int target)
        {
            
                Dictionary<int,int>dict=new Dictionary<int, int>();
                for(int i=0;i<nums.Length;i++)
                {
                    if (!dict.ContainsKey(target-nums[i]))
                    {
                        dict.TryAdd(nums[i], i);
                    }
                    else
                    {
                        return new int[] { dict.GetValueOrDefault(target - nums[i]),i };
                    }
                }
            return null;
        }
    }
}